package com.example.innovate.domain;

import java.util.ArrayList;
import java.util.List;

public class SuperAdminInfoDOExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public SuperAdminInfoDOExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andAdminIdIsNull() {
            addCriterion("admin_id is null");
            return (Criteria) this;
        }

        public Criteria andAdminIdIsNotNull() {
            addCriterion("admin_id is not null");
            return (Criteria) this;
        }

        public Criteria andAdminIdEqualTo(Integer value) {
            addCriterion("admin_id =", value, "adminId");
            return (Criteria) this;
        }

        public Criteria andAdminIdNotEqualTo(Integer value) {
            addCriterion("admin_id <>", value, "adminId");
            return (Criteria) this;
        }

        public Criteria andAdminIdGreaterThan(Integer value) {
            addCriterion("admin_id >", value, "adminId");
            return (Criteria) this;
        }

        public Criteria andAdminIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("admin_id >=", value, "adminId");
            return (Criteria) this;
        }

        public Criteria andAdminIdLessThan(Integer value) {
            addCriterion("admin_id <", value, "adminId");
            return (Criteria) this;
        }

        public Criteria andAdminIdLessThanOrEqualTo(Integer value) {
            addCriterion("admin_id <=", value, "adminId");
            return (Criteria) this;
        }

        public Criteria andAdminIdIn(List<Integer> values) {
            addCriterion("admin_id in", values, "adminId");
            return (Criteria) this;
        }

        public Criteria andAdminIdNotIn(List<Integer> values) {
            addCriterion("admin_id not in", values, "adminId");
            return (Criteria) this;
        }

        public Criteria andAdminIdBetween(Integer value1, Integer value2) {
            addCriterion("admin_id between", value1, value2, "adminId");
            return (Criteria) this;
        }

        public Criteria andAdminIdNotBetween(Integer value1, Integer value2) {
            addCriterion("admin_id not between", value1, value2, "adminId");
            return (Criteria) this;
        }

        public Criteria andAdminIsAdminIsNull() {
            addCriterion("admin_is_admin is null");
            return (Criteria) this;
        }

        public Criteria andAdminIsAdminIsNotNull() {
            addCriterion("admin_is_admin is not null");
            return (Criteria) this;
        }

        public Criteria andAdminIsAdminEqualTo(Boolean value) {
            addCriterion("admin_is_admin =", value, "adminIsAdmin");
            return (Criteria) this;
        }

        public Criteria andAdminIsAdminNotEqualTo(Boolean value) {
            addCriterion("admin_is_admin <>", value, "adminIsAdmin");
            return (Criteria) this;
        }

        public Criteria andAdminIsAdminGreaterThan(Boolean value) {
            addCriterion("admin_is_admin >", value, "adminIsAdmin");
            return (Criteria) this;
        }

        public Criteria andAdminIsAdminGreaterThanOrEqualTo(Boolean value) {
            addCriterion("admin_is_admin >=", value, "adminIsAdmin");
            return (Criteria) this;
        }

        public Criteria andAdminIsAdminLessThan(Boolean value) {
            addCriterion("admin_is_admin <", value, "adminIsAdmin");
            return (Criteria) this;
        }

        public Criteria andAdminIsAdminLessThanOrEqualTo(Boolean value) {
            addCriterion("admin_is_admin <=", value, "adminIsAdmin");
            return (Criteria) this;
        }

        public Criteria andAdminIsAdminIn(List<Boolean> values) {
            addCriterion("admin_is_admin in", values, "adminIsAdmin");
            return (Criteria) this;
        }

        public Criteria andAdminIsAdminNotIn(List<Boolean> values) {
            addCriterion("admin_is_admin not in", values, "adminIsAdmin");
            return (Criteria) this;
        }

        public Criteria andAdminIsAdminBetween(Boolean value1, Boolean value2) {
            addCriterion("admin_is_admin between", value1, value2, "adminIsAdmin");
            return (Criteria) this;
        }

        public Criteria andAdminIsAdminNotBetween(Boolean value1, Boolean value2) {
            addCriterion("admin_is_admin not between", value1, value2, "adminIsAdmin");
            return (Criteria) this;
        }

        public Criteria andAdminIsSuperAdminIsNull() {
            addCriterion("admin_is_super_admin is null");
            return (Criteria) this;
        }

        public Criteria andAdminIsSuperAdminIsNotNull() {
            addCriterion("admin_is_super_admin is not null");
            return (Criteria) this;
        }

        public Criteria andAdminIsSuperAdminEqualTo(Boolean value) {
            addCriterion("admin_is_super_admin =", value, "adminIsSuperAdmin");
            return (Criteria) this;
        }

        public Criteria andAdminIsSuperAdminNotEqualTo(Boolean value) {
            addCriterion("admin_is_super_admin <>", value, "adminIsSuperAdmin");
            return (Criteria) this;
        }

        public Criteria andAdminIsSuperAdminGreaterThan(Boolean value) {
            addCriterion("admin_is_super_admin >", value, "adminIsSuperAdmin");
            return (Criteria) this;
        }

        public Criteria andAdminIsSuperAdminGreaterThanOrEqualTo(Boolean value) {
            addCriterion("admin_is_super_admin >=", value, "adminIsSuperAdmin");
            return (Criteria) this;
        }

        public Criteria andAdminIsSuperAdminLessThan(Boolean value) {
            addCriterion("admin_is_super_admin <", value, "adminIsSuperAdmin");
            return (Criteria) this;
        }

        public Criteria andAdminIsSuperAdminLessThanOrEqualTo(Boolean value) {
            addCriterion("admin_is_super_admin <=", value, "adminIsSuperAdmin");
            return (Criteria) this;
        }

        public Criteria andAdminIsSuperAdminIn(List<Boolean> values) {
            addCriterion("admin_is_super_admin in", values, "adminIsSuperAdmin");
            return (Criteria) this;
        }

        public Criteria andAdminIsSuperAdminNotIn(List<Boolean> values) {
            addCriterion("admin_is_super_admin not in", values, "adminIsSuperAdmin");
            return (Criteria) this;
        }

        public Criteria andAdminIsSuperAdminBetween(Boolean value1, Boolean value2) {
            addCriterion("admin_is_super_admin between", value1, value2, "adminIsSuperAdmin");
            return (Criteria) this;
        }

        public Criteria andAdminIsSuperAdminNotBetween(Boolean value1, Boolean value2) {
            addCriterion("admin_is_super_admin not between", value1, value2, "adminIsSuperAdmin");
            return (Criteria) this;
        }

        public Criteria andAdminPasswordIsNull() {
            addCriterion("admin_password is null");
            return (Criteria) this;
        }

        public Criteria andAdminPasswordIsNotNull() {
            addCriterion("admin_password is not null");
            return (Criteria) this;
        }

        public Criteria andAdminPasswordEqualTo(String value) {
            addCriterion("admin_password =", value, "adminPassword");
            return (Criteria) this;
        }

        public Criteria andAdminPasswordNotEqualTo(String value) {
            addCriterion("admin_password <>", value, "adminPassword");
            return (Criteria) this;
        }

        public Criteria andAdminPasswordGreaterThan(String value) {
            addCriterion("admin_password >", value, "adminPassword");
            return (Criteria) this;
        }

        public Criteria andAdminPasswordGreaterThanOrEqualTo(String value) {
            addCriterion("admin_password >=", value, "adminPassword");
            return (Criteria) this;
        }

        public Criteria andAdminPasswordLessThan(String value) {
            addCriterion("admin_password <", value, "adminPassword");
            return (Criteria) this;
        }

        public Criteria andAdminPasswordLessThanOrEqualTo(String value) {
            addCriterion("admin_password <=", value, "adminPassword");
            return (Criteria) this;
        }

        public Criteria andAdminPasswordLike(String value) {
            addCriterion("admin_password like", value, "adminPassword");
            return (Criteria) this;
        }

        public Criteria andAdminPasswordNotLike(String value) {
            addCriterion("admin_password not like", value, "adminPassword");
            return (Criteria) this;
        }

        public Criteria andAdminPasswordIn(List<String> values) {
            addCriterion("admin_password in", values, "adminPassword");
            return (Criteria) this;
        }

        public Criteria andAdminPasswordNotIn(List<String> values) {
            addCriterion("admin_password not in", values, "adminPassword");
            return (Criteria) this;
        }

        public Criteria andAdminPasswordBetween(String value1, String value2) {
            addCriterion("admin_password between", value1, value2, "adminPassword");
            return (Criteria) this;
        }

        public Criteria andAdminPasswordNotBetween(String value1, String value2) {
            addCriterion("admin_password not between", value1, value2, "adminPassword");
            return (Criteria) this;
        }

        public Criteria andAdminTokenIsNull() {
            addCriterion("admin_token is null");
            return (Criteria) this;
        }

        public Criteria andAdminTokenIsNotNull() {
            addCriterion("admin_token is not null");
            return (Criteria) this;
        }

        public Criteria andAdminTokenEqualTo(String value) {
            addCriterion("admin_token =", value, "adminToken");
            return (Criteria) this;
        }

        public Criteria andAdminTokenNotEqualTo(String value) {
            addCriterion("admin_token <>", value, "adminToken");
            return (Criteria) this;
        }

        public Criteria andAdminTokenGreaterThan(String value) {
            addCriterion("admin_token >", value, "adminToken");
            return (Criteria) this;
        }

        public Criteria andAdminTokenGreaterThanOrEqualTo(String value) {
            addCriterion("admin_token >=", value, "adminToken");
            return (Criteria) this;
        }

        public Criteria andAdminTokenLessThan(String value) {
            addCriterion("admin_token <", value, "adminToken");
            return (Criteria) this;
        }

        public Criteria andAdminTokenLessThanOrEqualTo(String value) {
            addCriterion("admin_token <=", value, "adminToken");
            return (Criteria) this;
        }

        public Criteria andAdminTokenLike(String value) {
            addCriterion("admin_token like", value, "adminToken");
            return (Criteria) this;
        }

        public Criteria andAdminTokenNotLike(String value) {
            addCriterion("admin_token not like", value, "adminToken");
            return (Criteria) this;
        }

        public Criteria andAdminTokenIn(List<String> values) {
            addCriterion("admin_token in", values, "adminToken");
            return (Criteria) this;
        }

        public Criteria andAdminTokenNotIn(List<String> values) {
            addCriterion("admin_token not in", values, "adminToken");
            return (Criteria) this;
        }

        public Criteria andAdminTokenBetween(String value1, String value2) {
            addCriterion("admin_token between", value1, value2, "adminToken");
            return (Criteria) this;
        }

        public Criteria andAdminTokenNotBetween(String value1, String value2) {
            addCriterion("admin_token not between", value1, value2, "adminToken");
            return (Criteria) this;
        }

        public Criteria andAdminUserNameIsNull() {
            addCriterion("admin_user_name is null");
            return (Criteria) this;
        }

        public Criteria andAdminUserNameIsNotNull() {
            addCriterion("admin_user_name is not null");
            return (Criteria) this;
        }

        public Criteria andAdminUserNameEqualTo(String value) {
            addCriterion("admin_user_name =", value, "adminUserName");
            return (Criteria) this;
        }

        public Criteria andAdminUserNameNotEqualTo(String value) {
            addCriterion("admin_user_name <>", value, "adminUserName");
            return (Criteria) this;
        }

        public Criteria andAdminUserNameGreaterThan(String value) {
            addCriterion("admin_user_name >", value, "adminUserName");
            return (Criteria) this;
        }

        public Criteria andAdminUserNameGreaterThanOrEqualTo(String value) {
            addCriterion("admin_user_name >=", value, "adminUserName");
            return (Criteria) this;
        }

        public Criteria andAdminUserNameLessThan(String value) {
            addCriterion("admin_user_name <", value, "adminUserName");
            return (Criteria) this;
        }

        public Criteria andAdminUserNameLessThanOrEqualTo(String value) {
            addCriterion("admin_user_name <=", value, "adminUserName");
            return (Criteria) this;
        }

        public Criteria andAdminUserNameLike(String value) {
            addCriterion("admin_user_name like", value, "adminUserName");
            return (Criteria) this;
        }

        public Criteria andAdminUserNameNotLike(String value) {
            addCriterion("admin_user_name not like", value, "adminUserName");
            return (Criteria) this;
        }

        public Criteria andAdminUserNameIn(List<String> values) {
            addCriterion("admin_user_name in", values, "adminUserName");
            return (Criteria) this;
        }

        public Criteria andAdminUserNameNotIn(List<String> values) {
            addCriterion("admin_user_name not in", values, "adminUserName");
            return (Criteria) this;
        }

        public Criteria andAdminUserNameBetween(String value1, String value2) {
            addCriterion("admin_user_name between", value1, value2, "adminUserName");
            return (Criteria) this;
        }

        public Criteria andAdminUserNameNotBetween(String value1, String value2) {
            addCriterion("admin_user_name not between", value1, value2, "adminUserName");
            return (Criteria) this;
        }

        public Criteria andAdminTimeIsNull() {
            addCriterion("admin_time is null");
            return (Criteria) this;
        }

        public Criteria andAdminTimeIsNotNull() {
            addCriterion("admin_time is not null");
            return (Criteria) this;
        }

        public Criteria andAdminTimeEqualTo(String value) {
            addCriterion("admin_time =", value, "adminTime");
            return (Criteria) this;
        }

        public Criteria andAdminTimeNotEqualTo(String value) {
            addCriterion("admin_time <>", value, "adminTime");
            return (Criteria) this;
        }

        public Criteria andAdminTimeGreaterThan(String value) {
            addCriterion("admin_time >", value, "adminTime");
            return (Criteria) this;
        }

        public Criteria andAdminTimeGreaterThanOrEqualTo(String value) {
            addCriterion("admin_time >=", value, "adminTime");
            return (Criteria) this;
        }

        public Criteria andAdminTimeLessThan(String value) {
            addCriterion("admin_time <", value, "adminTime");
            return (Criteria) this;
        }

        public Criteria andAdminTimeLessThanOrEqualTo(String value) {
            addCriterion("admin_time <=", value, "adminTime");
            return (Criteria) this;
        }

        public Criteria andAdminTimeLike(String value) {
            addCriterion("admin_time like", value, "adminTime");
            return (Criteria) this;
        }

        public Criteria andAdminTimeNotLike(String value) {
            addCriterion("admin_time not like", value, "adminTime");
            return (Criteria) this;
        }

        public Criteria andAdminTimeIn(List<String> values) {
            addCriterion("admin_time in", values, "adminTime");
            return (Criteria) this;
        }

        public Criteria andAdminTimeNotIn(List<String> values) {
            addCriterion("admin_time not in", values, "adminTime");
            return (Criteria) this;
        }

        public Criteria andAdminTimeBetween(String value1, String value2) {
            addCriterion("admin_time between", value1, value2, "adminTime");
            return (Criteria) this;
        }

        public Criteria andAdminTimeNotBetween(String value1, String value2) {
            addCriterion("admin_time not between", value1, value2, "adminTime");
            return (Criteria) this;
        }

        public Criteria andAdminIsFrozenIsNull() {
            addCriterion("admin_is_frozen is null");
            return (Criteria) this;
        }

        public Criteria andAdminIsFrozenIsNotNull() {
            addCriterion("admin_is_frozen is not null");
            return (Criteria) this;
        }

        public Criteria andAdminIsFrozenEqualTo(Boolean value) {
            addCriterion("admin_is_frozen =", value, "adminIsFrozen");
            return (Criteria) this;
        }

        public Criteria andAdminIsFrozenNotEqualTo(Boolean value) {
            addCriterion("admin_is_frozen <>", value, "adminIsFrozen");
            return (Criteria) this;
        }

        public Criteria andAdminIsFrozenGreaterThan(Boolean value) {
            addCriterion("admin_is_frozen >", value, "adminIsFrozen");
            return (Criteria) this;
        }

        public Criteria andAdminIsFrozenGreaterThanOrEqualTo(Boolean value) {
            addCriterion("admin_is_frozen >=", value, "adminIsFrozen");
            return (Criteria) this;
        }

        public Criteria andAdminIsFrozenLessThan(Boolean value) {
            addCriterion("admin_is_frozen <", value, "adminIsFrozen");
            return (Criteria) this;
        }

        public Criteria andAdminIsFrozenLessThanOrEqualTo(Boolean value) {
            addCriterion("admin_is_frozen <=", value, "adminIsFrozen");
            return (Criteria) this;
        }

        public Criteria andAdminIsFrozenIn(List<Boolean> values) {
            addCriterion("admin_is_frozen in", values, "adminIsFrozen");
            return (Criteria) this;
        }

        public Criteria andAdminIsFrozenNotIn(List<Boolean> values) {
            addCriterion("admin_is_frozen not in", values, "adminIsFrozen");
            return (Criteria) this;
        }

        public Criteria andAdminIsFrozenBetween(Boolean value1, Boolean value2) {
            addCriterion("admin_is_frozen between", value1, value2, "adminIsFrozen");
            return (Criteria) this;
        }

        public Criteria andAdminIsFrozenNotBetween(Boolean value1, Boolean value2) {
            addCriterion("admin_is_frozen not between", value1, value2, "adminIsFrozen");
            return (Criteria) this;
        }

        public Criteria andAdminTimesIsNull() {
            addCriterion("admin_times is null");
            return (Criteria) this;
        }

        public Criteria andAdminTimesIsNotNull() {
            addCriterion("admin_times is not null");
            return (Criteria) this;
        }

        public Criteria andAdminTimesEqualTo(Integer value) {
            addCriterion("admin_times =", value, "adminTimes");
            return (Criteria) this;
        }

        public Criteria andAdminTimesNotEqualTo(Integer value) {
            addCriterion("admin_times <>", value, "adminTimes");
            return (Criteria) this;
        }

        public Criteria andAdminTimesGreaterThan(Integer value) {
            addCriterion("admin_times >", value, "adminTimes");
            return (Criteria) this;
        }

        public Criteria andAdminTimesGreaterThanOrEqualTo(Integer value) {
            addCriterion("admin_times >=", value, "adminTimes");
            return (Criteria) this;
        }

        public Criteria andAdminTimesLessThan(Integer value) {
            addCriterion("admin_times <", value, "adminTimes");
            return (Criteria) this;
        }

        public Criteria andAdminTimesLessThanOrEqualTo(Integer value) {
            addCriterion("admin_times <=", value, "adminTimes");
            return (Criteria) this;
        }

        public Criteria andAdminTimesIn(List<Integer> values) {
            addCriterion("admin_times in", values, "adminTimes");
            return (Criteria) this;
        }

        public Criteria andAdminTimesNotIn(List<Integer> values) {
            addCriterion("admin_times not in", values, "adminTimes");
            return (Criteria) this;
        }

        public Criteria andAdminTimesBetween(Integer value1, Integer value2) {
            addCriterion("admin_times between", value1, value2, "adminTimes");
            return (Criteria) this;
        }

        public Criteria andAdminTimesNotBetween(Integer value1, Integer value2) {
            addCriterion("admin_times not between", value1, value2, "adminTimes");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}